/*
  学习目标：Route组件的使用说明
*/

import React from 'react';
import { BrowserRouter as Router, NavLink, Route } from 'react-router-dom';
import './base.css';
export default class App extends React.Component {
  render() {
    return (
      <Router>
        <div>
          <h1>app组件</h1>
          <NavLink activeClassName="xxx" to="/home">
            首页
          </NavLink>
          <br />
          <NavLink activeClassName="xxx" to="/my">
            我的音乐
          </NavLink>
          <br />
          <NavLink activeClassName="xxx" to="/friend" exact>
            朋友
          </NavLink>
          <div className="box">
            {/* 2. Route相当于挂载点和规则对象, 二合一:  写在哪里渲染在哪里 */}
            {/* 3. 💥默认从上向下, 依次匹配, 不会主动停止匹配 */}
            <Route path="/home" component={Home} />
            <Route path="/home" component={Home} />
            <Route path="/home" component={Home} />
            <Route path="/home" component={Home} />
          </div>
          {/* 1. Route是组件, 匹配上显示组件, 匹配不上渲染一个null */}
          <Route path="/my" component={MyMusic} />
          <Route path="/friend" component={Friend} />

          {/* 4. 知道匹配任意路径的两种方式      */}
          {/* 4.1  不写path, 类似vue中path="*"" */}
          <Route component={Friend} />
          {/* 4.2 path="/", 可以和任意路径模糊匹配  */}
          <Route path="/" component={Friend} />
          <Route path="/" component={Friend} exact />
        </div>
      </Router>
    );
  }
}

function Home() {
  return <h1>我是首页组件</h1>;
}

function MyMusic() {
  return <h1>我是我的音乐件</h1>;
}

function Friend() {
  return <h1>我是朋友组件</h1>;
}
